/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package Mail;

import java.util.ArrayList;

/**
 *
 * @author yonmigongora@gmail.com
 */
public class MailClient {
    public String usuario;
    public MailServer server;
    public Message mensaje;
    public ArrayList<MailServer> listServer;
    private int c;
    // tendria que crearse una lista de server ?

    /**
    * Utiliza el MailServer
    */ 
    public MailClient(String usuario) {
        this.usuario = usuario;
        this.mensaje = new Message();
        this.c = 0;
    }    
    /**
    * Crea nuevo MailServer
    */ 
    public MailClient(String usuario, MailServer server) {
        this.usuario = usuario;
        //server = new MailServer();
        this.server = server;
        this.mensaje = new Message();
        this.c = 0;        
    }
    /**
     * Este método consulta al servidor a fin de ver si el usuario tiene algún mensaje. 
     * Este método debe retornar únicamente la cantidad de mensajes que tiene el usuario.
     * @return cantidad de mensajes del usuario.
     */
//  ARREGLAR: cantidad de mensajes de todos sus servidores, solo de uno tiene que ser.    
    public int checkMessages(){
        for (int i = 0; i < server.listMessage.size(); i++) {
            if (server.listMessage.get(i).getDestinatario().equals(this.usuario)) {
                c++;
            }
        }
        return c;
    }
    /**
     * Este método obtiene el siguiente mensaje del servidor y muestra el mensaje 
     * al usuario.
     * @return el siguiente Message del MailServer.
     */    
    public Message readNextMessage(){
        this.mensaje = server.getNextMessage(usuario);
        return mensaje;
    }
    /**
     * Este método obtiene toda la información necesaria del usuario, 
     * crea un objeto de tipo Message y lo envía al servidor.
     */    
    public void sendMessage(){
        this.mensaje.setEstado(true);
        server.post(mensaje);
    }
}
